#include <stdio.h>
#include <string.h>
#include <stdlib.h>  
#include <dirent.h>  
#include <sys/types.h>  
#include <unistd.h>  
int main(int argc, char *argv[]) 
{  
    if (argc != 2) {  
        fprintf(stderr, "Usage: %s <directory>\n", argv[0]);  
        exit(EXIT_FAILURE);  
    }  
    DIR *dir = opendir(argv[1]);  // 系统调⽤，⾃⾏查阅
 
    if (!dir) {  
        perror("opendir");  
        exit(EXIT_FAILURE);  
    }  
    struct dirent *entry;  
    while ((entry = readdir(dir)) != NULL) {   // 系统调⽤，⾃⾏查阅
 
// Skip the "." and ".." directory entries  
    if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {  
        continue;  
    }  
    printf("Filename: %s, Inode: %lu\n", entry->d_name, (unsigned long)entry->d_ino);
    }  
    closedir(dir);  
    return 0;  
}
